<?php
date_default_timezone_set('Asia/Saigon');
require_once('fibosmsconfig.php'); // Khai báo dùng hàm của Fibo 
//CheckRequest();     //Hàm kiểm tra request, đảm bảo yêu cầu xử lý đến từ server của Fibo
// Lấy nội dung tin nhắn
$message = 'REG KM 369358'; // Nội dung tin
$phone = '01233'; // số điện thoại của KH
$service = 'MaDICH'; // mã dịch vụ
$port = '8077';  // đầu số
$main = 'REG';  //keyword
$sub = 'KM';  // prefix
// Hết lấy nội dung tin nhắn

$md5id = md5(uniqid(rand(), true)); // id duy nhất để gán cho tin trả về
if ($port != '8077') {// kiểm tra xem có đúng đầu số không?
    // trường hợp nhắn sai đầu số
    echo '
			<ClientResponse>
				<Message>
					<PhoneNumber>' . $phone . '</PhoneNumber>
					<Message>Ban da nhan sai dau so</Message>
					<SMSID>' . $md5id . '</SMSID>
					<ServiceNo>' . $service . '</ServiceNo>
				</Message>
			</ClientResponse>';
} else { // xử lý tin
    $message = strtoupper($message);
    $tmp = explode(" ", $message); //cắt nội dung tin ra làm 3 phần
    if ($tmp[0] == 'REG' && // phần thứ nhất chứa keyword
            @$tmp[1] == 'KM' && //phần thứ 2 chứa Prefix
            $tmp[2] != ''
    ) {
        //truong hop keywork va Prefix dung thi kiem tra xem cmnd cua khach co ton tai trong he thong khong
        $cmnd = $tmp[2];
        $dem = 0;
        $user = UserTb::model()->find(' `cmnd`="' . $cmnd . '"');
        if (!empty($user)) {
            // truong hop user ton tai thi tien hanh giao dich
            // luu luoc su giao dich
            $history = new History();
            $history->money = 15000;
            $history->uid = $user->uid;
            $history->datecraete = date('Y-m-d h:i:s');
            $history->type = 'REG ' . 'KM ' . $cmnd;
            $history->save();

            $tota = 0;
// kiem tra hop dong neu da co thi gia han hop dong
            $hd = Taikhoan::model()->find(' `uid`=' . $user->uid . ' and `mahd`="HD0"');
            if (!empty($hd)) {
                $dem = 5;
                $tota = $hd->money;
                $hd->money = $tota + 15000;
                $hd->flag = 1;
                // neu ngay ket thuc lon hon ngay hien tai thi lay ngay ket thuc + 30 ngay, nguoc lai thi lay ngay bat dau = ngay hien tai
                if ($hd->ketthuc > date('Y-m-d')) {
                    //echo 'truong hop ngay ket thuc lon hon ngay hien tai';
                    $ngk = new DateTime($hd->ketthuc);
                    $now = $ngk->format('Y-m-d');


                    $ngay = $ngk->format('d');
                    $thang = $ngk->format('m');
                    $nam = $ngk->format('Y');


                    if ($ngay > 1) {
                        if ($thang > 11) {
                            $thang = 1;
                            $nam = $nam + 1;
                        } else {
                            $thang = $thang + 1;
                        }
                        $ngay = $ngay + 1;
                        $num = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                        if ($ngay > $num) {
                            $ngay = $num;
                        }
                    } else {
                        $ngay = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                    }
                    //$kt = NULL;
                    $date = new DateTime($nam . '-' . $thang . '-' . $ngay);

                    $hd->ketthuc = $date->format('Y-m-d');
                } else {
                    //echo 'truong hop ngay ket thuc < ngay hien tai';
                    $hd->batdau = date('Y-m-d H:i:s');
                    $now = getdate();

                    $ngay = $now['mday'];
                    $thang = $now['mon'];
                    $nam = $now['year'];
                    // echo $ngay . '-' . $thang . '-' . $nam;

                    if ($ngay > 1) {
                        if ($thang > 11) {
                            $thang = 1;
                            $nam = $nam + 1;
                        } else {
                            $thang = $thang + 1;
                        }
                        $ngay = $ngay + 1;
                        $num = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                        if ($ngay > $num) {
                            $ngay = $num;
                        }
                    } else {
                        $ngay = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                    }

                    $date = new DateTime($nam . '-' . $thang . '-' . $ngay);
                    $hd->ketthuc = $date->format('Y-m-d');
                }
                $hd->save();
            } else {
                $taikhoan = new Taikhoan();
                $taikhoan->uid = $user->uid;
                $taikhoan->money = $tota + 15000;
                $taikhoan->hd = 'Đăng tin khuyến mãi một tháng';
                $taikhoan->mahd = 'HD0';
                $taikhoan->flag = 1;
                $taikhoan->batdau = date('Y-m-d H:i:s');
                $now = getdate();

                $ngay = $now['mday'];
                $thang = $now['mon'];
                $nam = $now['year'];
                // echo $ngay . '-' . $thang . '-' . $nam;

                if ($ngay > 1) {
                    if ($thang > 11) {
                        $thang = 1;
                        $nam = $nam + 1;
                    } else {
                        $thang = $thang + 1;
                    }
                    $ngay = $ngay + 1;
                    $num = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                    if ($ngay > $num) {
                        $ngay = $num;
                    }
                } else {
                    $ngay = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
                }

                $date = new DateTime($nam . '-' . $thang . '-' . $ngay);
                $taikhoan->ketthuc = $date->format('Y-m-d');

                $taikhoan->save();
            }
            //giao dich tren he thong salemarlink thanh cong thi tra ve ket qua cho fibo
            if ($dem > 1) {
                echo '
		<ClientResponse>
			<Message>
				<PhoneNumber>' . $phone . '</PhoneNumber>
				<Message>Ban da dang ky gia han thanh cong.</Message>
				<SMSID>' . $md5id . '</SMSID>
				<ServiceNo>' . $service . '</ServiceNo>
			</Message>
		</ClientResponse>';
            } else {


                echo '
		<ClientResponse>
			<Message>
				<PhoneNumber>' . $phone . '</PhoneNumber>
				<Message>Tai khoan cua ban da duoc dang tin khuyen mai 1 thang ke tu ngay ' . date('d-m-Y') . '. Cam on ban da su dung dich vu cua Salesmartlink.com. Chuc ban thanh cong.</Message>
				<SMSID>' . $md5id . '</SMSID>
				<ServiceNo>' . $service . '</ServiceNo>
			</Message>
		</ClientResponse>';
            }
        } else {
            echo '
		<ClientResponse>
			<Message>
				<PhoneNumber>' . $phone . '</PhoneNumber>
				<Message>Xin chao, so cmnd cua ban khong ton tai trong he thong cua chung toi. Xin vui long nhap so cmnd da dang ky tai khoan tren he thong salemartlink</Message>
				<SMSID>' . $md5id . '</SMSID>
				<ServiceNo>' . $service . '</ServiceNo>
			</Message>
		</ClientResponse>';
        }
    } else {// nếu sai thi trả về hướng dẫn nhắn lại cho đúng cú pháp
        echo '
		<ClientResponse>
			<Message>
				<PhoneNumber>' . $phone . '</PhoneNumber>
				<Message>Xin chao, noi dung tin nhan khong hop le. Vui long goi tin nhan theo cu phap REG KM [so CMND]</Message>
				<SMSID>' . $md5id . '</SMSID>
				<ServiceNo>' . $service . '</ServiceNo>
			</Message>
		</ClientResponse>';
    }
}
?>